<?php
class Proveedores_model extends APP_Model{
    var $nombre=null;
    var $direccion=null;
    var $email=null;
    var $telefono=null;
    //var $desde=null;

    public function __construct() {
        parent::__construct();
    }
    /**
     * Obtiene Todos los resultados de la tabla proveedores
     * @return arreglo de resultados
     */
    function getAll()
    {
        $query = $this->db->get('proveedores');
        return $query->result_array();
    }
    /**
     * Obtiene los resultados de la tabla proveedores de forma paginada
     * @param $start Inicio de los resultados a mostrar
     * @param $limit Cantidad de resultados a ser mostrados
     * @return arreglo de resultados
     */
    function getPaginateResult($start,$limit)
    {
        $this->db->order_by('desde');
        $query = $this->db->get('proveedores',$limit,$start);
        return $query->result_array();
    }
    
    /**
     * Agrega los datos de la instancia actual a la base de datos
     */
    function add()
    {
        $this->db->insert('proveedores', $this);
    }

    /**
     * Actualiza los datos de la instacia actual dado un identificador
     * @param $id Identificador a actualizar
     * @return Boolean
     */
    function update($id)
    {
        $band = false;
        if(!empty ($id)){
            $this->db->where('id', $id);
            $this->db->update('proveedores', $this);
            $band = true;
        }
        return $band;
    }

    /**
     * Set nombre
     * @param $nom String
     */
    function setNombre($nom){$this->nombre = ucwords(strtolower($nom));}
    /**
     * Set dirección
     * @param $dir String
     */
    function setDireccion($dir){$this->direccion = ucwords(strtolower($dir));}
    /**
     * Set email
     * @param $email String
     */
    function setEmail($email){$this->email = $email;}
    /**
     * Set Telefonos
     * @param $tel String
     */
    function setTelefono($tel){$this->telefono = $tel;}
    /**
     * Set la fecha actual
     * que inidica el inicio de relaciones comerciales con el proveedores
     */
    function setDesde(){$this->desde = date('Y-m-d');}

    /**
     * Obtiene el nombre
     * @return String
     */
    function getNombre(){return $this->nombre;}
    /**
     * Obtiene el Dirección
     * @return String
     */
    function getDireccion(){return $this->direccion;}
    /**
     * Obtiene el Email
     * @return String
     */
    function getEmail(){return $this->email;}
    /**
     * Obtiene el/los Telefonos
     * @return String
     */
    function getTelefono(){return $this->telefono;}
    /**
     * Obtiene la fecha de inicio de relaciones comerciales
     * @return Date
     */
    function getDesde(){return $this->desde;}
}
?>